home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / RAND / T0310 / text0035.txt < prev    next >
Encoding:
Text File  |  1997-02-06  |  4.9 KB  |  137 lines

  1. Frederic JAUME wrote:
  2.  
  3. > here's just a first try, tell me what you think.
  4.  
  5. Here goes then... :)
  6.  
  7. > There are a lot of question in the following document, so please
  8. > answer them!
  9. > Part one : the monsters and other things...
  10. > First, we need to choose a data structure, and then to create the AI.
  11. > thhen I 'll  explain the method that can be used for the monsters movements.
  12. > This method works! It's not very complex for the moment, but it's been used
  13. > in a game (that was done by a friend of mine) on amiga, some sort of Zelda/Ultima
  14. > adventure game that had to deal with monsters AI. Though, it was programmed in AMOS,
  15. > and neither my friend nor i, can code in 68030, so you'll just find algorithms, and
  16. > simple C code. Bad Mood deserves a more complex AI, but it's just
  17. > a beginning.
  18.  
  19. Fine. I'm sure we have enough assembler coders to be able to convert any algorithms
  20. you come up with...
  21.  
  22. >                 --------------------------------
  23. > An inportant part of the AI is the data structures to be used.
  24. > DATA STRUCTURES
  25.  
  26. Sounds fine to me...
  27.  
  28. > >>? Should we use the same sector numbering as the one used to build up
  29. >   levels, since there are a lot of them, and some of them will not have
  30. >   'things' inside (the small ones).
  31.  
  32. Dunno, but as the monsters can move, you cannot gaurentee that there will
  33. nothing in any sector...
  34.  
  35. > THE AI - 'INVISIBLE FOOTPRINTS' METHOD
  36. > - how does it work ?
  37. > to simulate a realistic chase, we can use the "invisible footprints/trail"
  38. > method, which is the following one:
  39. > we've got an array of that type:
  40.  
  41. Sounds like a good idea... 
  42.  
  43. > an interesting point is that, with this method we can have an intelligence
  44. > factor for each monster, which is in fact the ability of the monster to
  45. > see a particular amount of footprints (dumb monsters won't see any, so if
  46. > you just hide behind a wall, the dumb monsters think you disapeared, and
  47. > go back to watch BayWatch...
  48.  
  49. :-) Yes, this could be good... one point - if a monster had a very 'high'
  50. intelligence factor, it might see lots of trails from where you were ages
  51. ago - for it to be fairly intelegent it would also need to know which of
  52. the trails is the most recent.
  53.  
  54. Also, here is another form of the same problem.
  55.  
  56.      | m |
  57.      |   |
  58.      |   |  | pe |
  59. ------   ---/ "  /
  60. p ->"""""""""   /
  61. ---------------/
  62.  
  63. m  = monster
  64. p  = player start
  65. pe = player end
  66. "  = player footprints
  67. -> = direction of movement
  68.  
  69. Now, if the monster has a 'high' intelegence, it would see footprints going
  70. both left and right in the corridor at the end - how would it know which
  71. way to go?
  72.  
  73. However, a monster with a lower intelegence would get less footprints, and
  74. so would only see footprints on one side of the corridor - thus making it
  75. appear more intelegent than the first case.
  76.  
  77. > Of course, this still makes dumb monsters, very easy to shoot, so
  78. > they'll have to zig-zag to try to avoid your shooting, like in doom,
  79. > maybe we can think of differents moves, using differents formulas so
  80. > that all the monsters don't act the same way.
  81.  
  82. Sounds good...
  83.  
  84. > And, can't the monster find you by the noise you make ( in the Mexican
  85. > Food Inferno level...) ?
  86. > I though about it, and i think we can do it by generating footprints all
  87. > around the player (in every direction, in places that are step-able)
  88. > whenever he uses a noisy weapon. But, then we need
  89. > another structure for noise generated footprints (as when in chase mode we
  90. > need an ordered list of footprints), so the foot-made footprints are
  91. > checked first, and then the noise-prints second.
  92.  
  93. As of Doom version 1.666 (ie. later versions of Doom, and Doom 2) hearing
  94. was added to Doom. However, you cannot always hear - walls have a flag
  95. which indicates whether it is 'sound proof' or not. The method described
  96. above wouldn't work with sound-proof walls (I think)...
  97.  
  98. > And now for something completely different :
  99. > What is needed:
  100. > -thing-player collision
  101.  
  102. I guess this is not to difficult?
  103.  
  104. > -monster-sees-player function
  105.  
  106. ...but this? I guess this is a 3d problem... (I really ought to have paid
  107. more attention in those lectures...)
  108.  
  109. > -sector-thing-is-in-function
  110. > -speed optimization
  111. > This is a cut version. I want some feed back!
  112. > I've got some C code, too but it's not good enough at the moment.
  113.  
  114. Sounds like the basic idea is good, and could give nice 'following'
  115. monsters... Good work!
  116.  
  117. Anthony
  118.  
  119.  
  120. -- 
  121. -------------------------------------+------------------------------
  122. Anthony Jacques                      |  STOS Falcon Extension v1.2a
  123.                                      |  Generic STOS Fixer v0.98 
  124. mailto:jacquesa@cs.man.ac.uk         |  available from WWW pages
  125. http://www.cs.man.ac.uk/~jacquesa/   |  - UUEncoded on request.
  126. -------------------------------------+------------------------------
  127. NEWSFLASH: Falcon extn. 1.3 to be released within the next week...
  128.            Generic Fixer 1.0 also to be released within a week...
  129. -------------------------------------+------------------------------
  130.  
  131.